package com.chenfan.mcn.model.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 客户返点执行单查询结果VO
 *
 * @author wulg
 * @date 2023-10-09
 **/
@Data
public class AnnualRebateExcutionOrderVO implements Serializable {

    private static final long serialVersionUID = -3499070040350561033L;

    /**
     * 返点合同编号
     */
    @Excel(name = "返点合同编号")
    private String rebateContractCode;

    /**
     * 返点类型（1-单笔返点，2-年度返点）
     */
    @Excel(name = "返点类型", replace = {"单笔返点_1","年度返点_2"})
    private Integer annualType;

    /**
     * 执行单ID
     */
    private Long id;

    /**
     * 执行单号
     */
    @Excel(name = "正式执行单号")
    private String excuteCode;

    /**
     * 收入合同ID
     */
    private Long incomeContractId;

    /**
     * 收入合同编号
     */
    @Excel(name = "收入合同编号")
    private String incomeContractCode;

    /**
     * 单据状态
     */
    private Integer approvalStatus;

    /**
     * 单据状态名称
     */
    @Excel(name = "正式执行单单据状态")
    private String approvalStatusName;

    /**
     * 客户返点结算状态：0未结算、1结算中、2已结算
     */
    private Integer rebateSettleStatus;

    /**
     * 客户返点结算状态名称：0未结算、1结算中、2已结算
     */
    private String rebateSettleStatusName;

    /**
     * 回款状态"0未回款；1部分回款；2已回款"
     */
    private Integer payBackStatus;

    /**
     * 回款状态名称
     */
    @Excel(name = "回款状态")
    private String paybackStatusName;

    /**
     * 收入合同类型
     */
    private Integer incomeContractType;

    /**
     * 收入合同类型名称
     */
    @Excel(name = "合同类型")
    private String incomeContractTypeName;

    /**
     * 发布平台信息ID
     */
    @JSONField(serialize = false)
    private Long starPlatformInfoId;

    /**
     * 发布平台
     */
    @Excel(name = "发布平台")
    private String platformName;

    /**
     * 红人平台昵称
     */
    @Excel(name = "红人平台昵称")
    private String platNickName;

    /**
     * 品牌名称(数据字典)
     */
    @Excel(name = "品牌")
    private String brandName;

    /**
     * 产品名称
     */
    @Excel(name = "产品名称")
    private String productName;


    /**
     * 是否平台下单： 0否、1是
     */
    @Excel(name = "是否平台下单", replace = {"否_0","是_1"})
    private Integer platformReport;

    /**
     * 内容实际报价（元）
     */
    @Excel(name = "内容实际报价（元）", type = 10)
    private BigDecimal realAmount;

    /**
     * 内容报价返点比例（%）
     */
    @Excel(name = "内容报价返点比例（%）", suffix = "%")
    private BigDecimal aeCustomerRabateRate;

    /**
     * 内容报价返点金额
     */
    @Excel(name = "内容报价返点金额（元）", type = 10)
    private BigDecimal aeCustomerRabateAmount;


    /**
     * 总收入
     */
    @Excel(name = "总收入（元）", type = 10)
    private BigDecimal actualQuotedPrice;

}
